home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 200
/
200.d81
/
chain letters
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
12KB
|
396 lines
10 dv=peek(186):ifdv<8thendv=8
30 print"[147]":poke53272,19:ad=49152:poke53280,0:poke53281,0
40 sys57812"chn font",dv,0:poke780,0:poke781,0:poke782,8:sys65493
45 gosub55:goto2300
53 :
54 rem --- setup program ---
55 dim lt(26),gr(12),uw$(220)
60 x=rnd(-ti):hq=0:ml=39777
70 pt$=chr$(255)+chr$(169):rem pointer
100 gs=1050:gr(1)=1227:gr(2)=1235
105 gr(3)=1243:gr(4)=1251:gr(5)=1259
110 lm=1827:return
148 :
149 rem --- game screen ---
150 print"[147] [192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
155 forx=1to8:print"[151] [186] [180][180][180][180] [186] [180][180][180][180] [186] [180][180][180][180] [186] [180][180][180][180] [186] [180][180][180][180]":next
160 print" [192][192][192][192][192][192][156][193][194][195][196][197][198][199][200][201][202][203][204][205][206][207][208][209][210][211][212][213][214][215][216][217][218][192][192][192][192][192][192]"
165 gosub275:sysad+69
185 sysad+18,112:sysad+18,120:sysad+18,128:sysad+18,136:sysad+18,144
195 goto3100
198 :
199 rem ---- print custom-letter ----
200 pokepk,lt+64:pokepk+1,lt+128:pokepk+40,lt+96:pokepk+41,lt+160
210 cl=55296+(pk-1024)
220 pokecl,co:pokecl+1,co:pokecl+40,co:pokecl+41,co
225 return
228 :
229 rem --- clear custom letter ---
230 pokepk,32:pokepk+1,32:pokepk+40,32:pokepk+41,32
240 return
248 :
249 rem --- print grid-letter ---
250 cl=55296+(pk-1024)
255 pokepk,lt:pokecl,2+nm
260 return
273 :
274 rem --- clear home word ---
275 sysad+24,26,0,"[151][161][162][161][162][161][162][161][162]":sysad+24,26,1,"[163][164][163][164][163][164][163][164]"
280 sysad+24,2,1," "
290 return
348 :
349 rem --- quit ---
350 ph$=" [158][209][213][201][212]![159] [193]re you sure? y[154]/n":gosub410
355 poke 781,22:sys 59903:poke 781,23:sys 59903
360 geta$:ifa$=""then360
365 ifa$<>"y"then return
390 print"[147]":poke2048,0:poke44,8:poke53272,23:poke186,8
394 goto40000
398 :
399 rem --- print / center ---
400 poke781,22:sys59903:sysad+27,22,ph$:return
405 poke781,23:sys59903:sysad+27,23,ph$:return
410 poke781,24:sys59903:sysad+27,24,ph$:return
419 :
420 sysad+24,11,22,"f1[154] -[196]elete [204]etter "
430 sysad+24,4,24," f3[154] -[200][197][204][208]! f7[154] -[209]uit "
440 return
888 :
889 rem --- oops ---
890 for x=0to1:poke781,23+x:sys 59903:next
895 lt=121:co=7:pk=wc-3:gosub250:lt=111:pk=pk+1:gosub250:return
899 :
900 rr=0:ph$="oops":forx=1to4:co=1+x
910 p$=mid$(ph$,x,1):lt=asc(p$):gosub200:pk=pk+2:next
914 :
915 fory=1to4:sysad+24,12,23,"[212]hat's not excepted!"
917 forx=1to100:nextx
920 sysad+24,12,23,"[154][212]hat's not excepted!"
922 forx=1to100:nextx:nexty:sysad+27,24,"[212]ry [193]gain...":forx=1to500:nextx
931 rr=1:if gm=1thenreturn
932 forx=3to0step-1:pk=wc+x:lt=116:co=11:gosub250:next:pk=wc-2:lt=122
933 gosub250:pk=pk-1:lt=32:gosub250:xx=0:gosub275:wg=wg-1:return
1098 :
1099 rem --- missing link ---
1100 print"[147]";:wd$(1)="":wd$(2)="":w(1)=1024:w(2)=1655:co=10:lm=1650:wg=1
1105 gr(2)=1267:gr(3)=1387:gr(4)=1507:gr(6)=1280:gr(7)=1400
1107 gr(8)=1520:gr(10)=1293:gr(11)=1413:gr(12)=1533
1110 gr(1)=1147:gr(5)=1160:gr(9)=1173
1120 gosub1150
1130 forx=1to2:sys ml+9,4:wd$(x)=w$
1132 fory=0to3:lt=asc(mid$(w$,(y+1),1))
1135 pk=w(x)+(y*2):gosub200
1140 nexty:nextx:gr=1:wd$=wd$(1):uw$(1)=wd$:goto1200
1149 :
1150 forx=1to4:print"[151] [161][162][161][162][161][162][161][162][160][160][160][160][160][161][162][161][162][161][162][161][162][160][160][160][160][160][161][162][161][162][161][162][161][162]"
1155 print"[151] [163][164][163][164][163][164][163][164][160][160][160][160][160][163][164][163][164][163][164][163][164][160][160][160][160][160][163][164][163][164][163][164][163][164]":print
1160 nextx:printtab(7)"?[220][221][146]";tab(27)"[158]_<="
1165 print" [154][192][192][192][192][156][193][194][195][196][197][198][199][200][201][202][203][204][205][206][207][208][209][210][211][212][213][214][215][216][217][218][154][192][192][192][192]"
1170 print"[152] [158]\]^_[146]":sysad+24,16,18,"[158]>?[220][221][255][223][188][189][146]"
1175 return
1199 :
1200 gosub420:pk=gr(gr)+xx:lt=97:co=7:gosub210
1210 get lt$:if lt$=""then1210
1220 if lt$="[134]"then rl$="how.link":gosub3050:goto1210:rem ...f3
1225 if lt$="[133]"then co=11:gosub2100:rem ...f1
1230 if lt$="[136]"then goto2700:rem ...f7
1235 if lt$<"a"orlt$>"z"then1210
1240 gs$=gs$+lt$:co=5:lt=asc(lt$):gosub200:xx=xx+2
1250 if xx=8then pr=23:gosub1280:gosub2112:gosub1265
1255 goto1200
1260 wg$=str$(wg):sysad+24,4,16,wg$:return
1265 gosub1300:gosub1260:ifa$<>"[133]"then gs$=""
1270 return
1279 :
1280 for x=0to3:poke781,21+x:sys59903:next:rem ... erase last 4 lines
1285 return
1299 :
1300 ifa$="[133]"thenreturn:rem --- f1
1305 if mk<1 then gosub 1280:pk=1946:gosub900:if rr=1then rr=0:goto1455
1315 gosub1280:gosub1350:ifc<>3thengoto1450
1317 ifc=3then rr=0:gosub2920:if rr=1then rr=0:gosub1455:wg=wg-1:return
1320 ph$="[217] o u [215][160][201][160][206][160]!"
1325 ww$=wd$:wd$=wd$(2):gosub1350:ifc=3thensysad+27,21,ph$:goto2600
1330 wd$=ww$:gs$="":goto1410
1349 :
1350 c=0:forj=1to4:ifmid$(gs$,j,1)=mid$(wd$,j,1)thenc=c+1
1355 next:return
1409 :
1410 gr=gr+1:ifgr>12 then goto2600
1420 xx=0:gosub1280:return
1449 :
1450 gosub2930
1455 lt=91:co=11:forx=0to6step2:pk=gr(gr)+x:gosub200:next
1460 rem:gr=gr-1:if gr<1then gr=1
1465 gosub1280:xx=0:wg=wg-1:return
1897 end
1898 :
1899 rem --- load concatenation ---
1900 print"[147]":ph$="concatenation":pk=1745:sysad+24,5,15,"[159][204]oading:":co=3
1910 forx=1tolen(ph$):lt=asc(mid$(ph$,x,1)):gosub200
1920 pk=pk+3:co=co+1:if co=16then co=3
1930 next:ph$="[150][194]e right back ...":gosub400
1940 dv=peek(186):ifdv<8thendv=8
1950 q$=chr$(34):print"[144]load"q$"concatenation"q$","dv
1960 print"run"
1970 poke631,13:poke632,13:poke198,2
1980 new
2098 :
2099 rem --- delete character ---
2100 ifpk=gr(gr)or pk=1050 thenreturn
2102 pokepk+80,32:pokepk+81,32
2103 lt=91:co=11:gosub200:pk=pk-2
2105 lt=91:co=7:gosub 200:xx=xx-2:ifxx<0thenxx=0:return
2107 gs$=left$(gs$,(len(gs$)-1)):return
2108 :
2109 rem --- 4th letter pause ---
2110 poke781,pr:sys59903
2112 poke214,pr:print:print" f1[154] -delete letter [210][197][212][213][210][206][154] "
2115 geta$:ifa$=""then2115
2120 ifa$="[133]"then goto2105:rem --- f1
2125 ifa$<>chr$(13)then2115
2135 mk=0:sys ml,gs$:ifw$<>gs$then mk=0:goto2175
2140 mk=1:forx=1to4:lc=asc(mid$(gs$,x,1)):poke56063+(lc-65),7:next:rem alphabet
2160 :
2175 wg=wg+1:return
2188 :
2189 rem --- prompts ---
2190 poke214,22:print:print" f1[154] -delete letter f3[154] -help "
2192 print" f5[154] -change screens f7[154] -[209]uit "
2195 return
2298 :
2299 rem --- main screen ---
2300 print"[147]";:
2310 printchr$(159)"[188][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][188]";
2315 fori=1to19
2320 print"[191]"chr$(31)"[219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219][219]"chr$(159)"[191]";
2325 nexti:print"[188][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][191][188]";
2327 print"[146][150][220][202]athiah[208]roductions[208]resents[220][154]"
2330 sysad+69:poke214,9:print
2332 printtab(6)"[156][188][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][188]";:forx=1to2
2334 printspc(12)"[190]"spc(26)"[190]";:next
2336 printspc(12)"[188][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][180][188]"
2340 sysad+15,7,32,11,12,32,0:poke214,10:print
2345 printtab(34)" ":forx=1to2
2350 printspc(34)" ":next
2355 printspc(7)" "
2375